package com.huabo.audit.oracle.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.huabo.audit.config.IgnoreSwaggerParameter;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Transient;

import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author huabo
 * @since 2022-06-27
 */
@Data
  @EqualsAndHashCode(callSuper = false)
    @TableName("TBL_NBSJ_REFORM_SOLUTION")
@ApiModel(value="TblNbsjReformSolution对象", description="")
public class TblNbsjReformSolution implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("SOLUTIONID")
    @GeneratedValue(strategy = GenerationType.IDENTITY,generator = "select HIBERNATE_SEQUENCE.nextval from dual")
  	@Column(name = "solutionid")
    @ApiModelProperty(value = "整改方案主键ID")
    private BigDecimal solutionid;

    @TableField("SOLUTIONCODE")
    @ApiModelProperty(value = "整改方案编号")
    @Column(name = "SOLUTIONCODE")
    private String solutioncode;

    @TableField("SOLUTIONNAME")
    @Column(name = "SOLUTIONNAME")
    @ApiModelProperty(value = "整改方案名称")
    private String solutionname;

    @TableField("SOLUTIONSTATUS")
    @ApiModelProperty(value = "", hidden = true)
    private String solutionstatus;

    @TableField("STAFFID")
    @ApiModelProperty(value = "整改方案创建人ID")
    private BigDecimal staffid;

    @TableField("CREATEDATE")
    @ApiModelProperty(value = "整改方案创建时间")
    @Column(name = "CREATEDATE")
    private Date createdate;

    @TableField("MEMO")
    @ApiModelProperty(value = "备注")
    @Column(name = "MEMO")
    private String memo;

    @TableField("ORGID")
    @ApiModelProperty(value = "整改方案创建部门ID", hidden = true)
    private BigDecimal orgid;

    @TableField("RUNSTATUS")
    @ApiModelProperty(value = "状态1、开始整改  2、整改中  3、关闭   4、整改完成")
    @Column(name = "RUNSTATUS")
    private Integer runstatus;

    @TableField("REFORMCOMPANYID")
    @ApiModelProperty(value = "整改责任人ID", hidden = true)
    private BigDecimal reformcompanyid;

    @TableField("REFORMUSERID")
    @ApiModelProperty(value = "整改责任人ID", hidden = true)
    private BigDecimal reformuserid;

    @TableField("REFORMTYPE")
    @ApiModelProperty(value = "整改责任人ID", hidden = true)
    private String reformtype;

    @TableField("ENDDATE")
    @ApiModelProperty(value = "截止时间")
    private Date enddate;

    @TableField("PROJECTID")
    @ApiModelProperty(value = "整改方案关联审计项目ID", hidden = true)
    private BigDecimal projectid;

    @TableField("ZGSTATUS")
    @ApiModelProperty(value = "评价状态 1评价中  2退回 3评价完成")
    @Column(name = "zgstatus")
    private Integer zgstatus;
    
    
    @ApiModelProperty(value = "方案创建人实体")
    @Transient
    @IgnoreSwaggerParameter
    private TblStaff createStaff;
    
    
    @ApiModelProperty(value = "方案关联审计项目实体")
    @Transient
    @IgnoreSwaggerParameter
    private TblNbsjProject relatedProject;//方案关联审计项目
    
    @ApiModelProperty(value = "整改责任人实体")
    @Transient
    @IgnoreSwaggerParameter
    private TblStaff reformUser;//整改责任人
    
    
    @ApiModelProperty(value = "方案关联整改内容集合")
    @Transient
    @IgnoreSwaggerParameter
    private List<TblNbsjRefopm> tblReforms;


}
